#ifndef _PO_MOM
#define _PO_MOM

#include <complex>
#include <blitz/array.h>
#include <blitz/tinyvec-et.h>
typedef std::complex<double> dComplex;
typedef blitz::TinyVector<double,3> Position3D;
typedef blitz::TinyVector<dComplex,3> Complex3D;

extern blitz::Array<Position3D,1> vNode, vWire, vPatchCtr, vPatchNorm, T;
extern blitz::Array<int,2> Edge, Patch;
extern blitz::Array<double,1> Edge_length;
extern blitz::Array<dComplex,1> V,I,J;
extern blitz::Array<dComplex,2> Z,Tau;
extern Position3D UnitVector;
extern int iWire,iNode, iPatch, iEdge;
extern double DeltaLength;
extern const double PI;
extern double WireRadius;
extern const double Epsilon;
extern const double Mu;
extern const double C;
extern const double Freq;
extern const double Omega;
extern const double WaveNumber;
#endif
